#ifndef _NET_QTX_SOCKET_H_
#define _NET_QTX_SOCKET_H_

#include <string>
#include <functional>
#include "RawIoInterface.h"


class DataCache;

class NetQtxSocket : public RawIoInterface
{
public:
    explicit NetQtxSocket(const std::string& ifname);
    virtual ~NetQtxSocket();

    virtual int SendData(DataCache& data, int timeout);
    virtual int RecvData(DataCache& data, int timeout);
private:

    int open_socket(const std::string& ifname);

private:
    int m_socket;
};


#endif